In many technical areas, such as mobile, wearable, and IoT platforms it is desirable to reduce circuit supply voltage, leading to a significant increase in circuit variability. Increased circuit variability impacts the operating frequency of the circuit.
Currently, static timing analysis is commonly used to verify circuit operating frequency (also called circuit timing). Various modeling techniques are used to accurately capture the variable impact on circuit timing. As an example, the Parametric On-Chip Variation (POCV) model is widely used for variation-aware timing analysis.
In static timing analysis, a timing graph is built for the circuit under analysis. The edges on the timing graph are called timing arcs. During static timing analysis, delays of the timing arcs are calculated and propagated through the timing graph. During propagation, delays are added to the arrival time of an input node to get the arrival time at an output node. Arrival times from different edges to the same node are merged into one arrival time through min/max operations. Once the propagation is done, critical paths are extracted from the timing graph for further analysis. It is critical that the graph-based timing analysis (GBA) results bound the path-based timing analysis (PBA) results. Bounding is defined as ensuring that the results from GBA are always more pessimistic than the results from PBA. Paths can be extracted in a strictly monotonic order based on their criticality. Otherwise, a circuit designer may miss a timing-critical area of the circuit, resulting in a defective circuit design.
With the POCV model, the timing information of arcs, paths and whole timing graph are described as statistical distributions instead of scalar values. Existing graph merging and path searching methods can no longer ensure that GBA results bound PBA results and the correct ordering of the critical path extractions. To work around this issue, a designer may add empirical margins during path reporting, which can be very expensive in terms of run time and memory consumption.